<?php

require_once __DIR__ . '/ControllerAbstract.php';
require_once __DIR__ . '/ControllerImagem.php';
require_once '..' . DS . '/Models/ModelTipoSaida.php';

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of ControllerTipoSaida
 *
 * @author David
 */
class ControllerTiposaida extends ControllerAbstract {

    public function principal() {
        $modelTipoSaida = new ModelTipoSaida();
        $tipoSaida = $modelTipoSaida->getTipoSaida();
        $this->render("tipoSaida/lista", $tipoSaida);
    }

    public function novo() {
        $this->render("tipoSaida/form");
    }

    public function alterar() {
        $this->render("tipoSaida/form");
    }

    public function insert() {

        if (isset($_POST["descricao"]) && !empty($_POST["descricao"])) {

            //faz o upload da foto
            $contImagem = new ControllerImagem();
            $imagem = $contImagem->upload("uploads", $_FILES);

            if (!$imagem) {
                $resultado = "erro";
            } else {
                $modelTipoSaida = new ModelTipoSaida();
                $tipoSaida = $modelTipoSaida->setTipoSaida($_POST["descricao"], $imagem);
                if ($tipoSaida != "erro") {
                    $resultado = "sucesso";
                } else {
                    $resultado = "erro";
                }
            }
        } else {
            $resultado = "erro";
        }

        if ($resultado == "erro") {
            header("location: " . BASE_URL . "tiposaida?" . $contImagem->Erro());
        } else {
            header("location: " . BASE_URL . "tiposaida");
        }
    }

    public function update() {
        if (isset($_POST["descricao"]) && !empty($_POST["descricao"])) {

            //verifica se existe imagem nova, para inserir e tirar a anterior.
            if ($_FILES["imagem"]["name"] != "") {
                //faz o upload da foto
                $contImagem = new ControllerImagem();
                $imagem = $contImagem->upload("uploads", $_FILES);

                if ($_POST["imagemAnt"] != "") {
                    $resultado = $contImagem->removeImagem("uploads", $_POST["imagemAnt"]);
                }
            }else{
                $imagem = $_POST["imagemAnt"];
            }

            $modelTipoSaida = new ModelTipoSaida();
            $tipoSaida = $modelTipoSaida->setUpdateTipoSaida($_POST["codigo"], $_POST["descricao"], $imagem);

            if ($tipoSaida != "erro") {
                $resultado = "sucesso";
            } else {
                $resultado = "erro";
            }
        } else {
            $resultado = "erro";
        }

        if ($resultado == "erro") {
            header("location: " . BASE_URL . "tiposaida?" . $contImagem->Erro());
        } else {
            header("location: " . BASE_URL . "tiposaida");
        }
    }

    public function delete() {
        if (isset($_POST["codigo"]) && !empty($_POST["codigo"]) && isset($_POST["imagem"])) {

            //exclui o tipo de saida do banco de dados
            $modelTipoSaida = new ModelTipoSaida();
            $resultado = $modelTipoSaida->setDeleteTipoSaida($_POST["codigo"]);

            //exclui a imagem da pasta
            if (!empty($_POST["imagem"])) {
                $contImagem = new ControllerImagem();
                $resultado = $contImagem->removeImagem("uploads", $_POST["imagem"]);
            }
        } else {
            $resultado = "erro";
        }

        echo $resultado;
    }

}